{
GtkGesturePrivate *priv;
PointData *data;
+ GtkEventSequenceState current_state;
g_return_val_if_fail (GTK_IS_GESTURE (gesture), FALSE);
g_return_val_if_fail (state >= GTK_EVENT_SEQUENCE_NONE &&
data->state != GTK_EVENT_SEQUENCE_NONE)
return FALSE;
+ current_state = data->state;
+ data->state = state;
+
if (state == GTK_EVENT_SEQUENCE_DENIED &&
- data->state == GTK_EVENT_SEQUENCE_CLAIMED)
+ current_state == GTK_EVENT_SEQUENCE_CLAIMED)
_gtk_gesture_cancel_sequence (gesture, sequence);
- data->state = state;
gtk_widget_cancel_event_sequence (gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture)),
gesture, sequence, state);
g_signal_emit (gesture, signals[SEQUENCE_STATE_CHANGED], 0,